package com.example.service;

import com.example.common.Result;
import com.example.common.PageResult;
import com.example.dto.SupplyProductDTO;
import com.example.vo.SupplyProductVO;

import java.util.List;

public interface SupplyProductService {
    
    /**
     * 添加供货商品
     */
    Result<Void> addSupplyProduct(SupplyProductDTO supplyProductDTO);
    
    /**
     * 删除供货商品
     */
    Result<Void> deleteSupplyProduct(Long id);
    
    /**
     * 更新供货商品
     */
    Result<Void> updateSupplyProduct(Long id, SupplyProductDTO supplyProductDTO);
    
    /**
     * 根据ID查询供货商品
     */
    Result<SupplyProductVO> getSupplyProductById(Long id);
    
    /**
     * 查询所有供货商品
     */
    Result<List<SupplyProductVO>> getAllSupplyProducts();
    
    /**
     * 分页查询供货商品
     */
    Result<PageResult<SupplyProductVO>> getSupplyProductPage(int page, int size, String keyword);
    
    /**
     * 检查商品编号是否存在
     */
    Result<Boolean> checkProductCodeExists(String productCode, Long excludeId);
} 